package org.jeecg.modules.music.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.api.vo.toplist.TopListDetailVo;
import org.jeecg.modules.music.entity.MusArtist;
import org.jeecg.modules.music.entity.MusSong;
import org.jeecg.modules.music.entity.MusTopList;

import java.util.List;

public interface IMusTopListService extends IService<MusTopList> {

    void saveArtist(MusTopList topList);

    void editTopList(MusTopList topList);

    void deleteTopList(String id);

    void deleteBatchTopList(String ids);

    IPage<MusSong> querySongDetailPage(Page<MusSong> page, String toplistId, MusSong songParams);

    IPage<MusSong> queryNoSongDetailPage(Page<MusSong> page, String toplistId, MusSong songParams);

    void saveSongs(String toplistId, String songIds);

    List<MusSong> querySongsByListId(String id);

    void deleteTopListSong(String toplistId, String songId);

    void deleteTopListSongBatch(String toplistId, String songIds);

    List<TopListDetailVo> queryTopListAll(Integer type);
}
